//  -------------------- iSharePoint -------------------- //
// 
//  Company:	IT Complex, LLC
//  Project:	Smart.Common
//  File name:	ConfigurationKey.cs
//  Developer:	Solomatov Igor
//  Created:	19.05.2012
// 
//  -------------------- iSharePoint -------------------- //

using System;
using System.Collections.Generic;

namespace Smart.Common
{
	/// <summary>
	/// Configuration key
	/// </summary>
	[Serializable]
	public class ConfigurationKey
	{
		/// <summary>
		/// Key name
		/// </summary>
		public string Name;

		/// <summary>
		/// Subjects which has not defined value for configuration key
		/// </summary>
		public HashSet<string> SubjectsNd = new HashSet<string>(StringComparer.OrdinalIgnoreCase);

		/// <summary>
		/// Custom subjects which define value for configuration key
		/// </summary>
		public Dictionary<string, ConfigurationValue> Subjects = new Dictionary<string, ConfigurationValue>(StringComparer.OrdinalIgnoreCase);

		/// <summary>
		/// Initializes a new instance of the <see cref="T:Smart.Common.ConfigurationKey"/> class.
		/// </summary>
		public ConfigurationKey(string name)
		{
			Name = name;
		}
	}
}